Andrea Corallo [Thu, 20 Aug 2020 10:36:39 +0000 (12:36 +0200)]
Revert "Fix native code uneffective loads after recompilation" (bug#42944)
This reverts commit
8a931a97b8dd19a38d6f719f810280a07ba76438.
This introduced bug#42944.
Andrea Corallo [Wed, 19 Aug 2020 13:26:42 +0000 (15:26 +0200)]
Fix native code uneffective loads after recompilation
'dlopen' can return the same handle if two shared with the same
filename are loaded in two different times (even if the first was
deleted!). To prevent this scenario the last modification time of the
source file is included in the hashing algorithm.
* src/comp.c (Fcomp_el_to_eln_filename): Update hashing algo to
include the source last modification date.
* src/lread.c (maybe_swap_for_eln): Do not check for eln newer
then elc as this is now unnecessary.
Andrea Corallo [Wed, 19 Aug 2020 14:11:00 +0000 (16:11 +0200)]
Merge remote-tracking branch 'savannah/master' into HEAD
Basil L. Contovounesios [Wed, 19 Aug 2020 13:43:11 +0000 (14:43 +0100)]
; Minor simplification of two recent changes
Noah Friedman [Wed, 19 Aug 2020 13:59:59 +0000 (15:59 +0200)]
Make shell-resync-dirs handle whitespace in directory names
* lisp/shell.el (shell-resync-dirs): Correctly handle
whitespace in directory names (bug#23324).
Juri Linkov [Wed, 19 Aug 2020 13:52:08 +0000 (15:52 +0200)]
Allow searching interactively over completions in `M-x'
* lisp/simple.el (read-extended-command): Allow doing interactive
searches over the completions (bug#12490). This restores the
behaviour from Emacs 23 that was lost in Emacs 24.
Grégoire Jadi [Wed, 19 Aug 2020 13:36:08 +0000 (15:36 +0200)]
Ensure `bibtex-set-dialect' is executed in bibtex buffers
* lisp/textmodes/bibtex.el (bibtex-mode): Call `bibtex-set-dialect'.
* test/automated/bibtex-tests.el: Add regression tests (bug#21764).
Robert Weiner [Wed, 19 Aug 2020 13:28:32 +0000 (15:28 +0200)]
Make etags-list-tags work with Exuberant ctags
* lisp/progmodes/etags.el (etags-list-tags): Make the function
work with Exuberant ctags (bug#23400).
Anders Lindgren [Wed, 19 Aug 2020 12:19:12 +0000 (14:19 +0200)]
Fix #'(lambda ...) font locking
* lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
Fontize #'(lambda ...) better (bug#23465).
Doug Gilmore [Wed, 19 Aug 2020 12:04:46 +0000 (14:04 +0200)]
Fix a segfault in daemon mode Emacs when detaching an X session
* src/xterm.c (x_uncatch_errors): Add a sanity check for
x_error_message (bug#23939).
Mattias Engdegård [Wed, 19 Aug 2020 11:42:31 +0000 (13:42 +0200)]
Distinguish errors in bytecomp-tests
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-check-1)
(test-byte-opt-arithmetic, bytecomp-lexbind-check-1)
(bytecomp-lexbind-explain-1):
When comparing interpreted with compiled results, don't consider all
errors to be equal; take the error type into account. (The error
arguments may differ, but there may be good reasons for that.)
Mattias Engdegård [Wed, 19 Aug 2020 11:39:18 +0000 (13:39 +0200)]
Make bytecomp-tests re-runnable
* test/lisp/emacs-lisp/bytecomp-tests.el
(test-byte-comp-macro-expand-lexical-override): Remove functions
before testing so that the test can be run twice without failing.
Tino Calancha [Wed, 19 Aug 2020 11:52:21 +0000 (13:52 +0200)]
Make thingatpt recognise files names with @ in them
* lisp/thingatpt.el (thing-at-point-file-name-chars): Add @
(Bug#24606).
Basil L. Contovounesios [Wed, 19 Aug 2020 11:37:03 +0000 (12:37 +0100)]
; Fix last change to comint.el
* lisp/comint.el (comint-highlight-input): Add :version tag.
(comint-send-input): Fix indentation.
Tom Tromey [Wed, 19 Aug 2020 11:38:44 +0000 (13:38 +0200)]
Add a variable to control VC completion over branch names
* lisp/vc/vc-git.el (vc-git-revision-complete-only-branches): New
variable (bug#25710).
(vc-git-revision-table): Use it.
Michael Albinus [Wed, 19 Aug 2020 11:19:19 +0000 (13:19 +0200)]
Better check for multi-hops when calling direct async processes
* lisp/net/tramp-sh.el (tramp-multi-hop-p, tramp-compute-multi-hops):
Move them from here ...
* lisp/net/tramp.el (tramp-multi-hop-p, tramp-compute-multi-hops): ... here.
(tramp-direct-async-process-p): Use `tramp-compute-multi-hops'.
Michael Albinus [Wed, 19 Aug 2020 11:18:08 +0000 (13:18 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Carlos Pita [Wed, 19 Aug 2020 11:13:46 +0000 (13:13 +0200)]
Don't override python font locking in comint
* lisp/comint.el (comint-highlight-input): New variable (bug#32344).
(comint-send-input): Use it.
* lisp/progmodes/python.el (inferior-python-mode): Set it.
Michael Albinus [Wed, 19 Aug 2020 11:12:14 +0000 (13:12 +0200)]
; * etc/NEWS: Fix typos.
Lars Ingebrigtsen [Wed, 19 Aug 2020 10:55:46 +0000 (12:55 +0200)]
Signal an end-of-file error upon errors when reading from stdin
* src/minibuf.c (read_minibuf_noninteractive): Signal an
`end-of-file' error when reading from stdin instead of a general
error (bug#34123). This makes it easier to write code that
recovers from this situation.
Suggested by Noam Postavsky <npostavs@gmail.com>.
Noam Postavsky [Wed, 19 Aug 2020 10:49:11 +0000 (12:49 +0200)]
Let ido-everywhere turn on ido-mode
* lisp/ido.el (ido-everywhere): Turn on ido-mode, if it's not already
on. Otherwise, having ido-everywhere enabled messes all file and
buffer reading interactive commands (bug#34292).
Lars Ingebrigtsen [Wed, 19 Aug 2020 10:45:05 +0000 (12:45 +0200)]
Fix the [ command in speedbar mode
* lisp/speedbar.el (speedbar-expand-line-descendants): Expand only
the current line -- not all subsequent lines in the speedbar
buffer (bug#35014).
Sebastian Urban [Wed, 19 Aug 2020 10:15:07 +0000 (12:15 +0200)]
Fix a page-break in the middle of a keystroke in basic.texi
* doc/emacs/basic.texi (Inserting Text): Avoid having the C-x 8 ]
keystroke broken over two pages in the PDF version (bug#35885).
Lars Ingebrigtsen [Wed, 19 Aug 2020 09:37:26 +0000 (11:37 +0200)]
Remove some compat code from viper-cmd.el
Lars Ingebrigtsen [Wed, 19 Aug 2020 09:34:54 +0000 (11:34 +0200)]
Remove some compat code from ispell.el
* lisp/textmodes/ispell.el (ispell): transient-mark-mode and
mark-active are always bound, so remove the check.
Lars Ingebrigtsen [Wed, 19 Aug 2020 09:32:56 +0000 (11:32 +0200)]
Remove some compat code from erc
* lisp/erc/erc.el (erc-mode): next-line-add-newlines is always
defined, so remove the check.
Alan Third [Mon, 17 Aug 2020 19:58:47 +0000 (20:58 +0100)]
Get rid of build-time checks around NS tabbar code (bug#33118)
* src/nsterm.m ([EmacsView initFrameFromEmacs:]): Get rid of version
checks.
Lars Ingebrigtsen [Tue, 18 Aug 2020 21:33:58 +0000 (23:33 +0200)]
Remove some compat code from viper-*.el
* lisp/emulation/viper-util.el (viper-check-minibuffer-overlay):
* lisp/emulation/viper-cmd.el (viper-minibuffer-standard-hook)
(viper-minibuffer-real-start, viper-submit-report): No need to
check whether minibuffer-prompt-end is defined.
Lars Ingebrigtsen [Tue, 18 Aug 2020 21:23:42 +0000 (23:23 +0200)]
Remove some compat code from descr-text.el
* lisp/descr-text.el (describe-text-properties-1): button.el is
pre-loaded, so remove check for it.
Lars Ingebrigtsen [Tue, 18 Aug 2020 21:22:36 +0000 (23:22 +0200)]
Remove some compat code from viper-cmd.el
* lisp/emulation/viper-cmd.el (viper-next-line-at-bol): No need to
check for button-at.
Lars Ingebrigtsen [Tue, 18 Aug 2020 21:18:50 +0000 (23:18 +0200)]
Remove some compat code from ps-print.el
* lisp/ps-print.el: Don't make a face-list alias.
Lars Ingebrigtsen [Tue, 18 Aug 2020 21:17:47 +0000 (23:17 +0200)]
Remove some compat code from forms.el
* lisp/forms.el (forms-mode): make-face always exists.
Lars Ingebrigtsen [Tue, 18 Aug 2020 21:15:09 +0000 (23:15 +0200)]
Remove some compat code from smiley.el
* lisp/gnus/smiley.el (smiley-style): face-attribute is always defined.
Lars Ingebrigtsen [Tue, 18 Aug 2020 21:12:39 +0000 (23:12 +0200)]
Remove some compat code from chart.el
* lisp/emacs-lisp/chart.el (chart-face-list):
set-face-background-pixmap is always defined.
Lars Ingebrigtsen [Tue, 18 Aug 2020 21:11:02 +0000 (23:11 +0200)]
Remove some compat code from htmlfontify.el
* lisp/htmlfontify.el (hfy-color-vals): color-values is always
defined.
Lars Ingebrigtsen [Tue, 18 Aug 2020 21:09:53 +0000 (23:09 +0200)]
Remove some compat code from ps files
* lisp/ps-def.el (ps-color-device): Ditto.
* lisp/ps-print.el (ps-color-scale): Make into an obsolete alias.
(ps-begin-job): Adjust caller.
* lisp/progmodes/ebnf2ps.el (ebnf-generate-eps, ebnf-generate): Ditto.
Lars Ingebrigtsen [Tue, 18 Aug 2020 21:05:22 +0000 (23:05 +0200)]
Remove some compat code from woman.el
* lisp/woman.el (woman-fontify): Don't check for functions always
defined.
Basil L. Contovounesios [Tue, 18 Aug 2020 20:29:41 +0000 (21:29 +0100)]
Replace last uses of idlwave-get-buffer-visiting
* lisp/progmodes/idlw-help.el (idlwave-help-with-source):
* lisp/progmodes/idlw-shell.el (idlwave-shell-set-bp-in-module)
(idlwave-shell-delete-temp-files, idlwave-shell-save-and-action):
Replace last occurrences of deprecated idlwave-get-buffer-visiting
with now-equivalent find-buffer-visiting.
Stefan Kangas [Tue, 18 Aug 2020 19:03:40 +0000 (21:03 +0200)]
* lisp/vt-control.el: Use lexical-binding.
Philip K [Tue, 18 Aug 2020 19:19:21 +0000 (21:19 +0200)]
Fix Libravatar federation handling
* lisp/image/gravatar.el (gravatar--service-libravatar): Implement
correct algorithm (bug#40354).
Philip K [Tue, 18 Aug 2020 19:18:06 +0000 (21:18 +0200)]
Fix Libravatar federation handling
* lisp/image/gravatar.el (gravatar--service-libravatar): Implement
correct algorithm (bug#40354).
Robert Pluim [Tue, 18 Aug 2020 18:31:37 +0000 (20:31 +0200)]
Fix truncated command names in process-attributes under Macos
* src/sysdep.c (system_process_attributes): Fix truncation of
command names in process-attributes under Macos (bug#36287).
Stefan Kangas [Sun, 9 Aug 2020 21:42:06 +0000 (23:42 +0200)]
Rearrange and clean up code in time.el (Bug#40863)
* lisp/time.el (world-clock, zoneinfo-style-world-list)
(legacy-style-world-list, world-clock-list)
(time--display-world-list, world-clock-time-format)
(world-clock-timer-enable, world-clock-timer-second): Move definitions
closer to 'world-clock' code. Remove redundant :group args.
(display-time-mail-file, display-time-mail-directory)
(display-time-mail-function)
(display-time-default-load-average)
(display-time-load-average-threshold, display-time-day-and-date)
(display-time-interval, display-time-24hr-format)
(display-time-hook, display-time-mail-face)
(display-time-use-mail-icon, display-time-mail-string)
(display-time-format, display-time-string-forms): Remove redundant
:group args.
Stefan Kangas [Sat, 2 May 2020 14:08:33 +0000 (16:08 +0200)]
Rename 'display-time-world' to 'world-clock' (Bug#40863)
* lisp/time.el (world-clock-list, world-clock-time-format)
(world-clock-buffer-name, world-clock-timer-enable)
(world-clock-timer-second, world-clock-label, world-clock-mode)
(world-clock-display, world-clock, world-clock-update): Rename
from 'display-time-world-*' and update all uses.
(world-clock): New defgroup.
(zoneinfo-style-world-list, legacy-style-world-list): Use :group
'world-clock'.
(display-time-world-list, display-time-world-time-format)
(display-time-world-buffer-name)
(display-time-world-timer-enable)
(display-time-world-timer-second): Make into obsolete variable
aliases for the new names.
* lisp/time.el (display-time-world-mode)
(display-time-world-display, display-time-world)
(display-time-world-timer): Make into obsolete function aliases
for the new names.
* etc/NEWS: Announce the above changes.
Stefan Kangas [Sun, 26 Apr 2020 08:16:06 +0000 (10:16 +0200)]
Improve display-time-world UI (Bug#40863)
* lisp/time.el (display-time-world-mode): Set 'revert-buffer-function'
to 'display-time-world-timer'.
(display-time-world-label): New face.
(display-time-world-display): Use the new face. Move point to new
buffer on creation and resize.
Stefan Kangas [Tue, 18 Aug 2020 18:16:06 +0000 (20:16 +0200)]
Remove the "Recent message" section from the bug reports
* lisp/mail/emacsbug.el (report-emacs-bug): Don't include "Recent
messages" since it has privacy implications. Problem reported by
Lars Ingebrigtsen in:
https://lists.gnu.org/archive/html/emacs-devel/2019-11/msg01099.html
(bug#39185).
Lars Ingebrigtsen [Tue, 18 Aug 2020 18:10:44 +0000 (20:10 +0200)]
srecode-utest-project test should now work on Hydra, hopefully
Lars Ingebrigtsen [Tue, 18 Aug 2020 18:06:48 +0000 (11:06 -0700)]
Fix a big in the srecore test setup
* test/lisp/cedet/srecode-utest-template.el
(srecode-utest-project): Set the current directory in the project
so that we'll find it later (bug#42533). The in-project directory
is /tmp, which is not actually what it is on many machines that
have the temporary directory somewhere else.
Stefan Kangas [Tue, 18 Aug 2020 17:02:21 +0000 (19:02 +0200)]
* lisp/savehist.el: Doc fix.
Pip Cet [Tue, 18 Aug 2020 16:27:05 +0000 (18:27 +0200)]
Fix minor bugs in image.c
* test/src/image-tests.el (image-test-circular-specs): New file.
* src/image.c (parse_image_spec): Return failure for circular lists.
(valid_image_p): Don't look at odd-numbered list elements expecting to
find a property name.
(image_spec_value): Handle circular lists.
(equal_lists): Introduce.
(search_image_cache): Use `equal_lists' (bug#36403).
Philip K [Tue, 18 Aug 2020 16:06:13 +0000 (18:06 +0200)]
Fix issues with OpenPGP header
* doc/misc/message.texi (OpenPGP Header): Mention correct hook
* lisp/gnus/message.el (message-openpgp-header): Improve customize type
(message-add-openpgp-header): Insert header into correct buffer
(bug#42913).
Kalle Olavi Niemitalo [Tue, 18 Aug 2020 15:03:07 +0000 (17:03 +0200)]
Fix buffer overflow in x-send-client-message
* xselect.c (x_fill_property_data): Add parameter NELEMENTS_MAX.
* xterm.h (x_fill_property_data): Update prototype.
* xselect.c (Fx_send_client_event): Update call. This fixes
a buffer overflow in event.xclient.data.
* xfns.c (Fx_change_window_property): Update call (bug#23482).
Copyright-paperwork-exempt: yes
Glenn Morris [Tue, 18 Aug 2020 14:51:08 +0000 (07:51 -0700)]
Merge from origin/emacs-27
362ca83a3b (origin/emacs-27) Let Emacs start even if curdir is inacce...
dd989c0ea0 * etc/NEWS: Mention GnuPG 2.0 through 2.1.5 issue (Bug#428...
4542b750cc Fix bug with ~/Emacs file not being read at init
9b403d624e ; Fix last change
6bff65a626 ; * doc/lispref/sequences.texi (Sequence Functions): Typo ...
3c4edfd85e Prevent from frozen frame after `C-z' in Lucid builds
98e8241992 Document the 'flex' completion style
19fa8b7ca3 Note that Emacs needs systemd support if systemd is used t...
# Conflicts:
# etc/NEWS
Glenn Morris [Tue, 18 Aug 2020 14:51:07 +0000 (07:51 -0700)]
; Merge from origin/emacs-27
The following commit was skipped:
8ff5e346fe Regexps cannot infloop; fix manual
Glenn Morris [Tue, 18 Aug 2020 14:51:05 +0000 (07:51 -0700)]
Merge from origin/emacs-27
cf0ee6f49b ; spelling fixes
16f4f26632 Fix startup working dir bug on NeXTSTEP
Lars Ingebrigtsen [Tue, 18 Aug 2020 14:45:29 +0000 (16:45 +0200)]
Implement a cache for all types of gravatars
* lisp/image/gravatar.el (gravatar-automatic-caching): Made obsolete.
(gravatar-cache-ttl): Ditto.
(gravatar--cache): New variable to cache gravatars in-memory.
(gravatar-retrieve): Maintain the cache.
(gravatar--prune-cache): Remove old entries.
(gravatar-retrieved): Remove use of the old-style cache (bug#40355).
Clément Pit-Claudel [Tue, 18 Aug 2020 14:06:29 +0000 (16:06 +0200)]
Fix ert ability to peek inside structures when comparing unequal values
* lisp/emacs-lisp/ert.el (ert--explain-equal-rec): Treat records
as arrays (bug#40562). Also add support for cl-structs.
Stefan Kangas [Thu, 13 Aug 2020 00:59:11 +0000 (02:59 +0200)]
Remove reference to Emacs Lisp List from FAQ
* doc/misc/efaq.texi (Packages that do not come with Emacs): Remove
reference to Emacs Lisp List. (Bug#41681)
Lars Ingebrigtsen [Tue, 18 Aug 2020 13:35:56 +0000 (15:35 +0200)]
Add NEWS entry for the count-lines change
Jen-Chieh Shen [Tue, 18 Aug 2020 13:25:21 +0000 (15:25 +0200)]
Add optional ALL-FRAMES arfument to count-windows
* lisp/window.el (count-windows): Allow counting the windows on
all frames (bug#42872).
Stefan Kangas [Tue, 18 Aug 2020 10:43:16 +0000 (12:43 +0200)]
Rename new option to flyspell-use-mouse-3-for-menu
* lisp/textmodes/flyspell.el (flyspell-use-mouse-3-for-menu): Rename
from 'flyspell-correct-on-mouse-3'. The previous name did not make it
clear that it's about opening a menu. (Bug#11680)
(flyspell--set-use-mouse-3-for-menu): Rename from
'flyspell--set-correct-on-mouse-3'. Bind menu to 'down-mouse-3'
instead of 'mouse-3' to be more in line with user expectations.
(flyspell-mode): Use the above new names.
* doc/emacs/fixit.texi (Spelling):
* etc/NEWS: Update documentation to use the new name.
Suggested by Stefan Monnier <monnier@iro.umontreal.ca>.
Lars Ingebrigtsen [Tue, 18 Aug 2020 10:31:22 +0000 (12:31 +0200)]
Trim titles in eww so that the host from the URL is visible
* lisp/net/eww.el (eww-update-header-line-format): Trim the line
of the title so that the host bit of the URL is visible (bug#42898).
Lars Ingebrigtsen [Tue, 18 Aug 2020 10:12:02 +0000 (12:12 +0200)]
Remove some compat code from esh-io.el
* lisp/eshell/esh-io.el (eshell-set-output-handle): Remove check
for null-device, which is always bound.
Lars Ingebrigtsen [Tue, 18 Aug 2020 10:10:29 +0000 (12:10 +0200)]
Remove some compat code from ediff
* lisp/vc/ediff-init.el (ediff-convert-standard-filename): Make
obsolete.
* lisp/vc/ediff-util.el (ediff-setup): Adjust callers.
(ediff-make-temp-file): Ditto.
Lars Ingebrigtsen [Tue, 18 Aug 2020 10:08:11 +0000 (12:08 +0200)]
Remove some compat code from ede/make.el and semantic/dep.el
* lisp/cedet/ede/make.el (ede--find-executable): Make obsolete.
(ede-make-command): Adjust caller.
* lisp/cedet/semantic/dep.el
(semantic--dependency-find-file-on-path): Make obsolete.
(semantic-dependency-find-file-on-path): Adjust callers.
Lars Ingebrigtsen [Tue, 18 Aug 2020 10:02:58 +0000 (12:02 +0200)]
Remove some compat code from python.el
* lisp/progmodes/python.el: Remove some compat function definitions.
Lars Ingebrigtsen [Tue, 18 Aug 2020 10:01:09 +0000 (12:01 +0200)]
Remove some compat code from binhex.el and uudecode.el
* lisp/mail/binhex.el (binhex-temporary-file-directory): Make obsolete.
(binhex-decode-region-external): Adjust usage.
* lisp/mail/uudecode.el (uudecode-temporary-file-directory): Make
obsolete.
(uudecode-decode-region-external): Adjust usage.
Lars Ingebrigtsen [Tue, 18 Aug 2020 09:57:39 +0000 (11:57 +0200)]
Remove some compat code from ispell.el
* lisp/textmodes/ispell.el (ispell-check-version): Remove check
for temporary-file-directory, which is always defined.
Lars Ingebrigtsen [Tue, 18 Aug 2020 09:56:39 +0000 (11:56 +0200)]
Remove some compat code from uudecode.el
* lisp/mail/uudecode.el (uudecode-decode-region-external): Remove
check for make-temp-file, which is always defined.
Lars Ingebrigtsen [Tue, 18 Aug 2020 09:55:29 +0000 (11:55 +0200)]
Remove some compat code from ediff-util.el
* lisp/vc/ediff-util.el (ediff-minibuffer-with-setup-hook): Make
into an obsolete macro.
(ediff-read-file-name): Adjust caller.
Lars Ingebrigtsen [Tue, 18 Aug 2020 09:53:21 +0000 (11:53 +0200)]
Remove XEmacs compat code from idlwave.el
idlwave.el: (idlwave-comment-line-start-skip, idlwave-mode-map)
(idlwave-mode, idlwave-get-buffer-visiting)
(idlwave-find-file-noselect, idlwave-complete-in-buffer)
(idlwave-attach-classes, idlwave-popup-select)
(idlwave-split-menu-emacs, idlwave-display-completion-list)
(idlwave-default-choose-completion)
(idlwave-display-completion-list-emacs)
(idlwave-display-completion-list-1)
(idlwave-make-modified-completion-map-emacs)
(idlwave-class-file-or-buffer, idlwave-rinfo-mouse-map)
(idlwave-display-calling-sequence)
(idlwave-insert-source-location)
(idlwave-list-load-path-shadows, idlwave-edit-in-idlde): Remove
XEmacs compat code.
Andrew Whatson [Tue, 18 Aug 2020 09:29:22 +0000 (11:29 +0200)]
* Fix async compilation `comp-eln-load-path' effectiveness (bug#42909)
* lisp/emacs-lisp/comp.el (comp-run-async-workers): Forward
`comp-eln-load-path' to async workers.
Lars Ingebrigtsen [Tue, 18 Aug 2020 09:32:06 +0000 (11:32 +0200)]
Remove some compat code from window.el
* lisp/window.el (window-fixed-size-p): Remove check for
window-size-fixed, which is always defined.
Lars Ingebrigtsen [Tue, 18 Aug 2020 09:27:17 +0000 (11:27 +0200)]
Remove some compat code from idlwave.el
* lisp/progmodes/idlwave.el (idlwave-one-key-select): Remove check
from fit-window-to-buffer, which always exists.
Lars Ingebrigtsen [Tue, 18 Aug 2020 09:25:05 +0000 (11:25 +0200)]
Remove come compat code from rmailedit.el
* lisp/mail/rmailedit.el (rmail-edit-mode): Remove check for
mode-line-modified, which is always defined.
Lars Ingebrigtsen [Tue, 18 Aug 2020 09:23:47 +0000 (11:23 +0200)]
Remove some compat code from erc-track.el
* lisp/erc/erc-track.el (erc-track-remove-from-mode-line)
(erc-track-add-to-mode-line): Remove check for mode-line-modes,
which is always bound.
Paul Eggert [Tue, 18 Aug 2020 00:54:44 +0000 (17:54 -0700)]
Fix glitch uncovered by gcc -fsanitize=undefined
* src/ccl.c (ccl_driver): Defend against signed integer
overflow (Bug#42660). Perhaps some of this is unnecessary,
but it is safe and ccl.c is low-priority these days.
Paul Eggert [Mon, 17 Aug 2020 23:21:36 +0000 (16:21 -0700)]
Let Emacs start even if curdir is inaccessible
* lisp/startup.el (normal-top-level): Also delete PWD if
file-attributes fails for either $PWD or default-directory,
instead of failing out of the top level.
This fixes a regression from Emacs 26 (Bug#42903).
Paul Eggert [Mon, 17 Aug 2020 22:05:05 +0000 (15:05 -0700)]
Update from Gnulib
This incorporates:
2020-08-17 verify: avoid __built_assume on Clang
2020-08-17 libc-config: avoid Clang’s __diagnose_if__
* lib/cdefs.h, lib/verify.h: Copy from Gnulib.
Eli Zaretskii [Mon, 17 Aug 2020 16:43:29 +0000 (19:43 +0300)]
Don't use -Wsuggest-attribute=malloc by default
* configure.ac: Move -Wsuggest-attribute=malloc to the set used
only under --enable-gcc-warnings.
Eli Zaretskii [Mon, 17 Aug 2020 16:30:02 +0000 (09:30 -0700)]
Fix assertion violation in pdumper.c
* src/pdumper.c (pdumper_find_object_type_impl): When checking
last_mark_bits, require the offset to be less than
discardable_start, not cold_start. This fixes a typo introduced in
2020-08-14T21:33:21Z!eggert@cs.ucla.edu (Bug#42832).
Eli Zaretskii [Mon, 17 Aug 2020 16:11:35 +0000 (19:11 +0300)]
; * etc/NEWS: Call out a recent change in 'count-words'. (Bug#41761)
Andrea Corallo [Mon, 17 Aug 2020 09:54:55 +0000 (11:54 +0200)]
* Improve eln filename hashing
Make eln filename hashing logic insensitive to the installation
process.
* src/comp.c (epaths.h): New include to have PATH_DUMPLOADSEARCH,
PATH_LOADSEARCH definitions.
(loadsearch_re_list): New static var.
(Fcomp_el_to_eln_filename): Update logic to have the eln hashing
insensitive to the installation process.
(syms_of_comp): GC protect 'loadsearch_re_list'.
Andrea Corallo [Sun, 16 Aug 2020 18:44:56 +0000 (20:44 +0200)]
* test/src/comp-tests.el (comp-tests-bootstrap): Fix test for new eln setup.
Andrea Corallo [Sun, 16 Aug 2020 18:40:44 +0000 (20:40 +0200)]
* Introduce `load-no-native'
Given load loads automatically a .eln in place of a .elc we need a way
to force the .elc load in the case we really want it.
* src/lread.c (syms_of_lread): Define `load-no-native'.
(maybe_swap_for_eln): Make use of.
Andrea Corallo [Sun, 16 Aug 2020 14:40:03 +0000 (16:40 +0200)]
* Remove a false permission related error while native compiling
* lisp/emacs-lisp/bytecomp.el (byte-compile-file): Do not crash if
native compiling we have no permission to create the .elc
file. We are not creating it.
Andrea Corallo [Sun, 16 Aug 2020 12:33:25 +0000 (14:33 +0200)]
Allow for native compiling .el.gz files
This is needed for installed instances compiled with NATIVE_FAST_BOOT
* src/comp.c (maybe_defer_native_compilation): Search for .el.gz
too as a source if the .el is not found.
(Fcomp_el_to_eln_filename): Remove the .gz in case to
generate the hash.
* lisp/emacs-lisp/comp.el (comp-valid-source-re): New defconst.
(comp-run-async-workers, native-compile-async): Make use of
`comp-valid-source-re'.
Andrea Corallo [Sun, 16 Aug 2020 09:18:36 +0000 (11:18 +0200)]
Make install target functional for new eln-cache directory arrangement
* src/comp.h (fixup_eln_load_path): New extern.
* src/comp.c (fixup_eln_load_path): New function.
* src/pdumper.c (dump_do_dump_relocation): Update to make use of
'fixup_eln_load_path'.
* lisp/loadup.el: Update to store in the compilation unit the
correct eln-cache installed path. Rename --lisp-dest -> --eln-dest
and.
* Makefile.in: Pass the eln destination directory to
src/Makefile. Rename LISP_DESTDIR -> ELN_DESTDIR.
(ELN_DESTDIR): Define.
(install-eln): New target.
(install): Add install-eln as prerequisite.
* src/Makefile.in: Rename --lisp-dest -> --eln-dest and
LISP_DESTDIR -> ELN_DESTDIR.
Andrea Corallo [Sat, 15 Aug 2020 18:12:46 +0000 (20:12 +0200)]
* Deferred compilation must always compile despite source file timestamp
* lisp/emacs-lisp/comp.el (comp-run-async-workers): Always compile
if load is set.
Andrea Corallo [Sat, 15 Aug 2020 09:29:06 +0000 (11:29 +0200)]
* Do not fail if more then one level of directories has to be created
* lisp/emacs-lisp/comp.el (native-compile-async): Call
make-directory if necessary.
Andrea Corallo [Sat, 15 Aug 2020 08:54:22 +0000 (10:54 +0200)]
* Prevent recursive load
Prevent autoload to kicks in while running `native-compile-async'.
Autoload cannot be used safely by functions serving deferred
compilation as a circular load can be triggered if the dependency is
not native compiled already.
* lisp/emacs-lisp/comp.el (warnings): Add require.
Andrea Corallo [Fri, 14 Aug 2020 07:05:31 +0000 (09:05 +0200)]
Some Makefile updates and clean-up
* Makefile.in (clean): Remove 'eln-cache' folder.
* lisp/Makefile.in (.SUFFIXES): Remove .eln.
(native-compile-clean): Target remove.
(compile-always, bootstrap-clean): Remove 'native-compile-clean'
prerequisite.
* src/Makefile.in (%.eln): Remove rule.
Andrea Corallo [Thu, 13 Aug 2020 21:47:54 +0000 (23:47 +0200)]
Make comp-deferred-compilation a simple global and set it on by default
* src/comp.c (comp_deferred_compilation): Doc update and set it to
true by default.
* lisp/emacs-lisp/comp.el (comp-deferred-compilation): Remove
customize.
Andrea Corallo [Sun, 19 Jul 2020 08:46:24 +0000 (10:46 +0200)]
Move eln files into dedicated cache directories
When loading a elc file search for a corresponding eln one into
`comp-eln-load-path' directories and load it if available.
`comp-eln-load-path' contains by default two directory (user and
system one).
* src/pdumper.c (dump_do_dump_relocation): While resurrecting from
load set eln cache sys dir in `Vcomp_eln_load_path'.
* src/lread.c (maybe_swap_for_eln): New function.
(Fload): Clean-up some now unnecessary code going
back to the master one.
(Fload): Make use of Vcomp_eln_to_el_h for the reverse file
look-up.
(openp_add_middle_dir_to_suffixes)
(openp_max_middledir_and_suffix_len, openp_fill_filename_buffer):
Remove functions.
(openp): As for Fload revert code modifications.
(openp): When a .elc file is being loaded check if a corresponding
eln can be loaded in place.
* src/comp.c (ELN_FILENAME_HASH_LEN): New macro.
(comp_hash_string): New function.
(hash_native_abi): Make use of 'comp_hash_string'.
(hash_native_abi): Change `comp-native-path-postfix' format.
(Fcomp_el_to_eln_filename): New function.
(Fcomp__compile_ctxt_to_file): Have file_name as a input.
(Vcomp_eln_to_el_h, Vcomp_eln_load_path): New global varaibles.
* lisp/startup.el (normal-top-level): Add user eln cache directory
in `comp-eln-load-path'.
* lisp/help-fns.el (find-lisp-object-file-name): Reverse look-up
files using `comp-eln-to-el-h'.
* lisp/files.el (locate-file): Likewise.
* lisp/emacs-lisp/find-func.el (find-library-name): Likewise.
* lisp/emacs-lisp/comp.el (comp-output-directory)
(comp-output-base-filename, comp-output-filename): Remove function.
(comp-compile-ctxt-to-file): Create parent directories if
necessary.
(comp-run-async-workers, native-compile, native-compile-async):
Make use `comp-el-to-eln-filename'.
Paul Eggert [Mon, 17 Aug 2020 15:28:36 +0000 (08:28 -0700)]
* etc/NEWS: Mention GnuPG 2.0 through 2.1.5 issue (Bug#42845).
Stefan Kangas [Fri, 14 Aug 2020 16:23:35 +0000 (18:23 +0200)]
Remove some obsolete items from PROBLEMS
* etc/PROBLEMS: Remove some obsolete items.
Stefan Kangas [Sun, 16 Aug 2020 19:40:28 +0000 (21:40 +0200)]
Remove more XEmacs compat code from viper
* lisp/emulation/viper-util.el (viper-sit-for-short)
(viper-last-command-char): Make obsolete.
(viper-fast-keysequence-p):
* lisp/emulation/viper-cmd.el (viper-escape-to-emacs)
(viper-digit-argument, viper-command-argument, viper-undo)
(viper-exit-minibuffer):
* lisp/emulation/viper-mous.el (viper-multiclick-p):
Adjust callers.
Michael Albinus [Mon, 17 Aug 2020 09:41:46 +0000 (11:41 +0200)]
; * doc/lispref/tips.texi: Fix typo.
Robert Pluim [Mon, 17 Aug 2020 04:40:19 +0000 (21:40 -0700)]
Fix bug with ~/Emacs file not being read at init
* src/xrdb.c (get_user_app): Put "/" between homedir
and %L or %N (Bug#42827).
Paul Eggert [Sun, 16 Aug 2020 21:30:09 +0000 (14:30 -0700)]
Simplify format_time_string
* src/timefns.c (emacs_nmemftime, format_time_string):
Simplify on the basis of recent nstrftime changes.
Propagate nstrftime errno.